import Tablero
import Othello

blancas :: [Posicion]
negras :: [Posicion]
negras = [('c',5),('c',6),('f',6),('g',6),('d',8)]
blancas = [('f',5),('d',6),('e',6),('d',7),('e',7),('f',7)]

jugadas = [M ('c',4),M ('c',3),M ('c',2),M ('b',2),M ('a',2),M ('a',1),M ('d',3),M ('a',3),M ('b',3),M ('b',4),M ('a',4),M ('a',5),M ('b',1),M ('c',1),M ('e',6),M ('b',5),M ('a',6),M ('a',7),Paso,M ('b',6),Paso,M ('c',5),Paso,M ('e',2),M ('d',2),M ('e',1),M ('d',1),M ('e',3),M ('f',1),M ('d',6),M ('c',6),M ('c',7),M ('b',7),M ('b',8),M ('a',8),M ('c',8),M ('d',8),M ('d',7),M ('f',3),M ('e',7),M ('e',8),M ('f',2),M ('g',3),M ('f',4),M ('f',5),M ('f',6),M ('f',7),M ('f',8),M ('g',8),M ('g',1),Paso,M ('g',2),M ('h',1),M ('g',4),M ('g',5),M ('g',6),M ('g',7),M ('h',7),M ('h',2),M ('h',3),M ('h',4),M ('h',5),M ('h',6),M ('h',8),Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso,Paso]

armar :: Tablero -> [Posicion] -> Color -> Tablero
armar t (x:xs) c = armar (poner x c t) xs c
armar t [] _ = t

jugarTodoEsto :: [Jugada] -> Juego -> Maybe Juego
jugarTodoEsto lista juego = foldl (\j m -> jugar m (fromJust2 j)) (Just juego) lista 

fromJust2 :: Maybe a -> a
fromJust2 (Just x) = x

tableroLoco = armar (armar tableroInicial blancas Blanco) negras Negro
juegoLoco = fromJust2 (jugarTodoEsto jugadas (J Blanco tableroInicial))

dameElPutoTablero (J _ tablero) = tablero

jError = [M ('c',4), M ('e',3), M ('f',4), M ('g',3), M ('e',6)]
tError = fromJust2 (jugarTodoEsto jError (J Blanco tableroInicial))
